package com.gxa.boot.exception;

/**
 * 枚举的声明:
 * 1. 可以包含成员字段
 * 2. 包含方法
 * 3. 包含构造方法
 * 4. 常量字段(静态)
 *
 * 特点: 将一个类型的所有的可能都例举出来
 *  声明成员时,应当用全大写方式, 且是方便读懂的单词形式
 *  静态成员可以声明多个, 中间用","隔开, 最后要添加";"
 *  枚举具有类型检查
 *  能简化声明
 */

public enum ErrorMessage {

    //new ErrorMessage("用户名或密码不能为空")

    // 枚举的实例列表
    // 设计自定义状态码: 从50001开始
    CONTENT_NOT_NULL(50001,"用户名或密码不能为空"),
    LOGIN_FAILED(50002,"登录失败,请检查用户名或密码"),
    WRONG_LENGTH(50003,"长度不合法"),
    ILLEGAL_PHONE(50004,"手机号不合法"),
    DUPLICATE_PHONE(50005,"手机号已存在"),
    TOKEN_LOSED(50006,"TOKEN不允许为空"),
    TOKEN_EXPIRED(50007,"TOKEN已经过期"),
    WRONG_TOKEN(50008,"TOKEN校验不通过"),
    LIUYUANHAO_RUN(50009,"刘源豪在跑"),
    ANKUN_ERROR(50009,"名字校验错误校验失败"),
    BILEI_WRONG(50009,"BILEI的异常"),
    ;


    private String msg;
    private Integer code;


    ErrorMessage(Integer code,String msg) {
        this.code = code;
        this.msg = msg;
    }

    ErrorMessage() {

    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    @Override
    public String toString() {
        return msg;
    }
}
